One of the more important requirements of a digital communication network is to support real-time communications applications which, typically, require time or frequency alignment, or a combination of both. For example, time alignment (also referred to as “phase alignment”) is used by real-time instrumentation systems gathering data at specific time intervals or operating machinery according to specific timing. Frequency alignment is required in time-division-multiplexed (TDM) systems and in multi-media streaming systems, which require fixed, reproducible, video or audio sample rates across multiple clients.
In conventional TDM networks, physical layer methods implement frequency alignment throughout the network. The master clock 101 clock system delivers (frequency) timing information via bit-timing (or symbol-timing) information associated with downstream physical communication links to slave clock systems 102 enabling the latter to frequency-align with the former.
While frequency alignment within conventional TDM networks is relatively straightforward, packet-switched networks, such as networks based on Internet Protocols (“IP”), present time and frequency alignment challenges because packet networks are not conventionally designed to provide precise delivery time for data or precise timing at any lower protocol levels. A key difference is that the switching and multiplexing functions are not deterministic, as they are in TDM networks. In particular, packet networks typically involve multiple nodes that may store and forward data packets, potentially introducing significant, randomly distributed, transit delay variation between any two points. Furthermore, packet networks introduce transit delay and transit delay variation that is load dependent and since the traffic loading is generally not constant, the transit delay variation cannot be modeled as a stationary random process.
To address time and frequency alignment challenges inherent in packet networks, certain protocols based on the industry standard internet protocol (IP) have been developed and deployed. One IP-based time alignment protocol is known in the art as Network Time Protocol (NTP). NTP is used for aligning time between a client and one or more master time references. Precision Time Protocol (PTP) is a second IP-based time alignment protocol for aligning one or more client devices to a master time reference. PTP has also been proposed as a protocol supporting frequency alignment. However, NTP and PTP are simply protocols and do not solve the problem of variable transit delay. A slave clock system utilizing NTP, PTP, or any other time alignment protocol, transmitted over a packet network must still account for transit delay variation within the network. In fact, overall time alignment accuracy is generally determined by the ability of a system implementing time alignment to account for transit delay variation between a time reference (“master” or “server”) and a clock aligning to the time reference (“slave” or “client”).
Lightly loaded packet networks typically present relatively low transit delay variation, allowing IP-based alignment protocols such as NTP and PTP to easily achieve excellent accuracy relative to each protocol's specification. For example, in a lightly loaded gigabit Ethernet-based network, PTP can theoretically provide alignment of better than one hundred nanoseconds. However, conventional networks typically have a wide range of bandwidth loading conditions, which leads to large transit delay variations. This transit delay variation typically leads to severe degradation of time alignment accuracy.
Furthermore, network elements comprising the packet network may process sequential packets differently, depending on prevailing congestion conditions that result from increased bandwidth loading within the network. For example, a network element may forward all packets according to one delay profile until a congestion threshold is exceeded. Once the congestion threshold is exceeded, the network element may delay high priority packets, and drop low priority packets. If congestion on the network element drops below the congestion threshold, then the network element may stop delaying high priority packets and stop dropping low priority packets.
Frequency alignment between a frequency reference (master clock) and a frequency client (slave clock) may be disrupted by abrupt changes in transit delays resulting from one or more intervening network elements switching from normal mode to congestion mode. Because conventional frequency alignment protocols presume transit delay does not change abruptly, a conventional client device commonly interprets a change in transit delay resulting from a network element changing between normal mode and congestion mode to be the result of a local frequency error. The conventional client device may adjust for the local frequency error, even though no adjustment is actually needed. Similarly, time alignment between a time reference (master) and a time client (slave) may also be disrupted by abrupt changes in transit delays resulting from one or more network elements switching from normal mode to congestion mode.
Thus, several factors, including network congestion and network element policies for packet processing, may contribute to greater transit delay variation in a packet network. Unfortunately, transit delay variation typically reduces accuracy and reliability of time and frequency alignment systems that conventionally depend on stability of transit delay within the packet network. Techniques described in the prior art are generally based on some variation of adaptive clock recovery and use filtering methods or straight-line-fitting methods to extract a frequency reference. However, these are not robust enough to handle the variability of packet delay variation effects and thereby are not suitable for meeting the stringent performance criteria that are targeted by this invention.